// 文件名：week1\problem\lc03_欧琳琳.cpp
// 提交链接：https://leetcode.cn/problems/longest-substring-without-repeating-characters/submissions/559223068?envType=problem-list-v2&envId=sliding-window
// 03. 哈希表，字符串，滑动窗口
// 完成日期：2024/08/28
// c++,使用哈希集合利用其不存相同元素功能，以及滑动窗口使用end和start双指针动态滑动解决

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_set<char>str;
        int length=s.size();
        int start=0;
        int maxlength=0;
        for(int end=0;end<length;end++)
        {
            while(str.count(s[end]))
            {
                str.erase(s[start]);
                start++;
            }
            str.insert(s[end]);
            maxlength=max(maxlength,(int)str.size());
        }
        return maxlength;
    }
};